 using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Data;
using CurriculasEntities;

namespace CurriculasDAO
{

    public class ListaDA
    {


        public ICollection<ListaCursoBE> ListarCursos(string nomCurso, int codAreaConocimiento)
        {
            string _sentenciaSql = "USP_GC_ListarCursosByNomArea '" + nomCurso + "'," + codAreaConocimiento;

            using (EFContext db = new EFContext(Utility.ObtenerCadena()))
            {
                return db.Database.SqlQuery<ListaCursoBE>(_sentenciaSql).ToList(); ;
            }
        }

        public ICollection<ListaCursoPrerequisitoBE> ListarCursoPrerequisito(int codCurso)
        {
            string _sentenciaSql = "USP_GC_ListaCursoPrerequisito '" + codCurso + "'";

            using (EFContext db = new EFContext(Utility.ObtenerCadena()))
            {
                return db.Database.SqlQuery<ListaCursoPrerequisitoBE>(_sentenciaSql).ToList(); ;
            }
        }

        public ICollection<ListaPrerequisitoBE> ListarPrerequisitos(int codCurso)
        {
            string _sentenciaSql = "USP_GC_ListarPrerequisitos '" + codCurso + "'";

            using (EFContext db = new EFContext(Utility.ObtenerCadena()))
            {
                return db.Database.SqlQuery<ListaPrerequisitoBE>(_sentenciaSql).ToList(); ;
            }
        }

        public ICollection<BibliografiaBE> ListarBibliografias(int codSilabo)
        {
            string _sentenciaSql = "USP_GC_ListarBibliografias '" + codSilabo + "'";

            using (EFContext db = new EFContext(Utility.ObtenerCadena()))
            {
                return db.Database.SqlQuery<BibliografiaBE>(_sentenciaSql).ToList(); ;
            }
        }


        public ICollection<ListaEstadoCursoBE> ListarEstadoCurso(int codCurso)
        {
            string _sentenciaSql = "USP_GC_ObtenerEstadoCurso '" + codCurso + "'";

            using (EFContext db = new EFContext(Utility.ObtenerCadena()))
            {
                return db.Database.SqlQuery<ListaEstadoCursoBE>(_sentenciaSql).ToList(); ;
            }
        }

        public ICollection<ListaSilaboBE> ListarSilabos(string nomCurso)
        {
            string _sentenciaSql = "USP_GC_ListaSilabos '" + nomCurso + "'";

            using (EFContext db = new EFContext(Utility.ObtenerCadena()))
            {
                return db.Database.SqlQuery<ListaSilaboBE>(_sentenciaSql).ToList(); ;
            }
        }

        public ICollection<ListaEvaluacionBE> ListarEvaluaciones(int codSilabo)
        {
            string _sentenciaSql = "USP_GC_ListarEvaluaciones " + codSilabo ;

            using (EFContext db = new EFContext(Utility.ObtenerCadena()))
            {
                return db.Database.SqlQuery<ListaEvaluacionBE>(_sentenciaSql).ToList(); ;
            }
        }
        
        public ICollection<ListaItinerarioBE> ListarItinerarios()
        {
            string _sentenciaSql = "USP_GC_LISTARITINERARIOS ";

            using (EFContext db = new EFContext(Utility.ObtenerCadena()))
            {
                return db.Database.SqlQuery<ListaItinerarioBE>(_sentenciaSql).ToList(); ;
            }
        }

        public ICollection<ListaPlanCurricularBE> ListarPlanCurricular()
        {
            string _sentenciaSql = "USP_GC_LISTARPLANCURRICULAR ";

            using (EFContext db = new EFContext(Utility.ObtenerCadena()))
            {
                return db.Database.SqlQuery<ListaPlanCurricularBE>(_sentenciaSql).ToList(); ;
            }
        }
    }
}
